package com.atguigu.lease.web.admin.custom.converter;

import com.atguigu.lease.model.enums.ItemType;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

//将类交给Spring容器管理，之后进行注册交给mvc进行管理
@Component
public class StringToItemTypeConverter implements Converter<String, ItemType> {

    @Override
    public ItemType convert(String code) {
        //获取当前枚举类的所有值
        ItemType[] values = ItemType.values();
        //使用循环遍历来寻找传入的数据是否有对应的值
        for (ItemType itemType : values) {
            if (itemType.getCode().equals(Integer.valueOf(code))){
                return itemType;
            }
        }
        //如果未找到则返回错误
        throw new IllegalArgumentException("非法的枚举值:" + code);
    }
}
